If...Then...Else Statement

Conditionally executes a group of statements, depending on the value of a Boolean expression.


Syntax

If condition Then

statements

[ElseIf condition-n Then

elseIfStatements]...

[Else

elseStatements]

End [If]

OR

If condition Then statement [Else] [statement]

PartDescription
condition Required. A Boolean, numeric, or String expression that evaluates to True or False.
statements Optional. One or more statements that are executed if condition is True.
condition-n Optional. Same as condition.
elseIfStatements Optional. One or more statements executed that are executed if the associated condition-n is True.
elseStatements Optional. One or more statements executed if no previous condition or condition-n expression is True.


Notes

When executing an If statement, the condition is tested. If condition is True, the statements associated with the If statement following the Then statement are executed. If condition is False and an Else clause follows, its statements will be executed. If condition is False and there is no Else clause or it is preceded by an ElseIf statement, the condition following the ElseIf statement is tested. After executing the statements following Then, ElseIf or Else execution continues with the statement that follows End If.

When writing an If statement, you can use a couple of shortcuts. First, you can write only the statements that are executed if the condition is True. Then select the statements, display the Code Editor's contextual menu, and choose Wrap in If...End if. The Code Editor will then add an If statement above the selected lines and an End If statement below them. All you need to do is write the condition.

The other shortcut is this: Write the "If condition" portion of the statement and then press Ctrl+Shift+Enter. The Code Editor will then add the "Then" and the "End if" line.

An If statement can be written on one line, provided the code that follows the Then and Else statements can be written on one line. Using this syntax, you omit the End if statement. For example, the following examples are valid:

If error=123 Then MsgBox "An error occured."
If error=123 Then MsgBox "An error occured." Else MsgBox "Never mind!"

The following is not valid because the Then clause requires two lines:

If error=123 Then Beep MsgBox "An error occured."

Use the syntax shown in the first example.


Examples

This example shows an If statement.

If error=-123 Then
  Beep
  MsgBox "Whoops! An error occured."
End If

This example shows an If statement that includes the use of ElseIf and Else clauses.

Dim theNumber As Integer
Dim digits As Integer
theNumber=33
If theNumber<10 Then
 digits=1
ElseIf theNumber<100 Then
 digits=2
ElseIf theNumber<1000 Then
 digits=3
Else
digits=4
End If

See Also

Select Case statement.